package xddq

import (
	"regexp"
	D "websocket_apn/define"
	"websocket_apn/log"
	"websocket_apn/proto"
)

// 解析服务端的参数
func (xd *XdDriver) DealServerMsg(msgData *proto.MsgData) {
	switch msgData.Cmd {
	case proto.S_ATTRIBUTE_DREAM_MSG_RSP:
		//
	case proto.S_PLAYER_DATA_SYNC_MSG_RSP:
		//71 AB 00 00 00 E7 00 00 00 65 00 00 02D4 07 01 81 E2 08 E2 83 86 B8 C0 5A 12 11 E4 BF AE E4 BB 99 C2 B7 E7 9A AE E7 9A AE E5 8D 8E 18 01 20 A9 E6 BD 01 28 DF EF E9 E7 F6 31 32 06 E6 B5 99 E6 B1 9F 40 E1 EC 89 EC 73 4A 07 53 4B 6C 41 43 64 51 52 86 01 68 74 74 70 73 3A 2F 2F 7468 69 72 64 77 78 2E 71 6C 6F 67 6F 2E 63 6E 2F 6D 6D 6F 70 65 6E 2F 76 69 5F 33 32 2F 62 76 49 6B 4D 73 55 42 6F 37 69 61 6B 53 4C 6B 69 61 42 69 63 44 4A 51 49 64 6B 78 6A 4E 58 58 62 57 55 5A 57 7A 51 50 4D 55 65 41 57 53 70 6C 51 7A 3069 62 58 4A 4D 54 4B 44 48 4B 4B 6B 69 61 6C 4C 38 6F 61 6D 57 33 6F 34 42 50 52 47 30 4A 6F 74 32 66 4D 6D 6E 42 69 62 51 2F 31 33 32 58 00 60 00 68 94 AB DD ED EA 31 70 00
		if msgData.HexData[0] == 0x08 && len(msgData.HexData) > 7 {
			xd.UserData.UserID = proto.BytesToHexStr(msgData.HexData[1:7])
			data := proto.BytesToHexStr(msgData.HexData)
			re := regexp.MustCompile(`40([0-9A-F]{10})4A`)
			regRes := re.FindAllStringSubmatch(data, -1)
			if len(regRes) > 0 && len(regRes[0]) > 1 {
				xd.UserData.YaoMengID = regRes[0][1]
			}
			log.Debugf("UserID:%s YaoMengID:%s", xd.UserData.UserID, xd.UserData.YaoMengID)
		}
		//妖盟消息
	case proto.S_UNION_MESSAGE_LIST_RSP, proto.S_UNION_MESSAGE_SYNC_RSP:
		info := proto.ParaYaoMenMsgInfo(msgData.HexData)
		go xd.CheckYaoMenMsgInfoData(info)
		//当前装备属性
	case proto.S_ATTRIBUTE_DATA_SYNC_MSG_RSP:
		info := proto.ParaCurrentEquipmentInfo(msgData.HexData)
		go xd.CheckCurrentEquipmentInfoData(info)
		//活动信息
	case proto.S_ACTIVITY_GET_DATA_RSP:
		info := proto.ParaActivityDataInfo(msgData.HexData)
		go xd.CheckActivityDataInfoData(info)
		//背包数据
	case proto.S_BAG_DATA_SYNC_MSG_RSP:
		allInfo := proto.ParasUserBagInfo(msgData.HexData)
		go xd.CheckUserBagInfoData(allInfo)
		//仙官送福礼物信息
	case proto.S_PALACE_SEND_GIFT_SYNC_DATA_RSP:
		allInfo := proto.ParaSendGiftInfo(msgData.HexData)
		go xd.CheckSendGiftInfoData(allInfo)
		//冒险怪物信息
	case proto.S_STAGE_VIEW_MONSTER_ATTR_RSP:
		info := proto.ParaMonsterInfo(msgData.HexData)
		xd.CheckMonsterInfoData(info, proto.S_STAGE_VIEW_MONSTER_ATTR_RSP)
	case proto.S_HOMELAND_SYNC_MSG_RSP:
		info := proto.ParaNumberOfMiceInfo(msgData.HexData)
		go xd.CheckNumberOfMiceInfoData(info)
	case proto.S_HOMELAND_SYNC_HOMELAND_DATA_RSP:
		info := proto.ParaUserGameResource(msgData.HexData)
		xd.CheckFuDiData(info, true)
		//激发的灵脉信息
	case proto.S_TALENT_RANDOM_TALENT_RSP:
		info := D.TalentInfo{}
		if msgData.TotalLen == 20 && msgData.HexData[0] == 0x08 && msgData.HexData[1] == 0x00 {
			info.DealFlag = false
		} else {
			info = proto.ParaTalentInfo(msgData.HexData)
		}
		xd.UserData.ChopDownTree.DealTalentChan <- info
		//当前装备的灵脉信息
	case proto.S_TALENT_DEAL_TALENT_RSP:
		allInfo := proto.ParaCurrentTalentInfo(msgData.HexData)
		go xd.CheckCurrentTalentInfoData(allInfo)
		//未处理的灵脉信息
	case proto.S_TALENT_GET_UNDEAL_TALENT_MSG_RSP:
		info := D.TalentInfo{}
		if msgData.TotalLen == 20 && msgData.HexData[0] == 0x08 && msgData.HexData[1] == 0x00 {
			info.DealFlag = false
		} else {
			info = proto.ParaTalentInfo(msgData.HexData)
		}
		xd.UserData.ChopDownTree.DealTalentChan <- info
		//收到邮件
	case proto.S_MAIL_SYNC_RSP:
		info := proto.ParaEmailInfo(msgData.HexData)
		xd.CheckMailData(info)
		//当前灵兽信息
	case proto.S_PET_DATA_SYNC_RSP:
		info := proto.ParaAllPetInfo(msgData.HexData)
		go xd.CheckAllPetInfoData(info)
		//灵兽召唤结果
	case proto.S_PET_REFRESH_POOL_RSP:
		info := proto.ParaAllPetInfo(msgData.HexData)
		go xd.CheckAllPetInfoData(info)
		//镇妖塔怪物信息
	case proto.S_TOWER_VIEW_MONSTER_ATTR_RSP:
		info := proto.ParaMonsterInfo(msgData.HexData)
		xd.CheckMonsterInfoData(info, proto.S_TOWER_VIEW_MONSTER_ATTR_RSP)
		//活动主信息
	case proto.S_ACTIVITY_SYNC_MAIN_CONFIG_LIST_RSP:
		info := proto.ParaActivityInfo(msgData.HexData)
		go xd.CheckActivityInfoData(info)
		//查看所有老鼠采摘情况结果
	case proto.S_HOMELAND_MANAGE_RSP:
		info := proto.ParaFudiHomeManageInfo(msgData.HexData)
		go xd.CheckFudiHomeManageInfoData(info)
	case proto.S_HOMELAND_ENTER_RSP:
		info := proto.ParaUserGameResource(msgData.HexData)
		xd.CheckFuDiData(info, false)
		//探寻结果
	case proto.S_HOMELAND_EXPLORE_RSP:
		allInfo := proto.ParaUserResourceInfo(msgData.HexData)
		xd.UpdateFuDiData(allInfo)
		//资源刷新结果
	case proto.S_HOMELAND_EXPLORE_REFRESH_RSP:
		allInfo := proto.ParaUserResourceInfo(msgData.HexData)
		xd.UpdateFuDiData(allInfo)
	case proto.S_ATTRIBUTE_GET_UNDEAL_EQUIPMENT_MSG_RSP:
		info := D.EquipmentInfo{}
		if msgData.TotalLen == 20 && msgData.HexData[0] == 0x08 && msgData.HexData[1] == 0x00 {
			info.DealFlag = false
		} else {
			info = proto.ParaUnDealEquipmentRsp(msgData.HexData)
		}
		xd.UserData.ChopDownTree.DealChan <- info
		//查看妖盟攻城战列表
	case proto.S_UNION_AREA_WAR_AREA_LIST_RSP:
		info := proto.ParaUnionAreaWarInfo(msgData.HexData)
		go xd.CheckUnionAreaWarInfoData(info)
		//查看妖盟查看巅峰排行结果
	case proto.S_UNION_HONOR_HALL_GET_PEAK_RANK_RSP:
		info := proto.ParaUnionHonorHallInfo(msgData.HexData)
		go xd.CheckUnionHonorHallInfoData(info)
		//妖盟攻城战妖盟信息结果
	case proto.S_UNION_AREA_WAR_FIGHT_SCENE_RSP:
		info := proto.ParaUnionAreaWarSceneInfo(msgData.HexData)
		go xd.CheckUnionAreaWarSceneInfoData(info)
		//查看问道盛会结果
	case proto.S_ASKWAY_ENTER_RSP:
		info := proto.ParaAskWayInfo(msgData.HexData)
		go xd.CheckAskWayInfoData(info)
		//蓬莱仙岛-查看灵气状态
	case proto.S_GOD_ISLAND_GAME_SPIRITUALBALL_INFO_RSP:
		info := proto.ParaGodIslandSpiInfo(msgData.HexData)
		go xd.CheckGodIslandSpiInfoData(info)
		//蓬莱仙岛-查看地图信息
	case proto.S_GOD_ISLAND_GAME_MINIMAP_INFO_RSP:
		info := proto.ParaGodIslandMapInfo(msgData.HexData)
		go xd.CheckGodIslandMapInfoData(info)
		//九幽争霸-查看地图信息
	case proto.S_HOLY_LAND_GAME_MINIMAP_INFO_RSP:
		info := proto.ParaHolyLandMapInfo(msgData.HexData)
		go xd.CheckHolyLandMapInfoData(info)
		//任务进度
	case proto.S_ACTIVITY_SYNC_CONDITION_LIST_RSP:
		allInfo := proto.ParaConditionListInfo(msgData.HexData)
		go xd.CheckConditionListInfoData(allInfo)
		//查看星宿试炼怪物信息
	case proto.S_STARTRIAL_DATA_SYNC_RSP:
		info := proto.ParaStartTrialInfo(msgData.HexData)
		go xd.CheckStartTrialInfoData(info)
		//查看聚灵阵灵气
	case proto.S_GATHER_ENERGY_ENTER_NEW_RSP:
		info := proto.ParaJuLingZhenLingQiInfo(msgData.HexData)
		go xd.CheckJuLingZhenLingQiInfoData(info)
		//聚灵阵结果
	case proto.S_GATHER_ENERGY_FIRST_LIST_VIEW_RSP:
		allInfo := proto.ParaJuLingZhenInfo(msgData.HexData)
		go xd.CheckJuLingZhenInfoData(allInfo)
		//妖盟砍价进度
	case proto.S_CUT_PRICE_SYNC_RSP:
		info := proto.ParaBargainingProgressInfo(msgData.HexData)
		go xd.CheckBargainingProgressInfoData(info)
		//群英榜消息
	case proto.S_HERORANK_ENTER_RSP:
		info := proto.ParaAllHeroInfo(msgData.HexData)
		go xd.CheckAllHeroInfoData(info)
		//群英榜消息
	case proto.S_HERORANK_GET_FIGHT_LIST_RSP:
		info := proto.ParaAllHeroInfo(msgData.HexData)
		go xd.CheckAllHeroInfoData(info)
		//真火秘境怪物的信息
	case proto.S_SECRETTOWER_VIEWMONSTER_RSP:
		info := proto.ParaMonsterInfo(msgData.HexData)
		xd.CheckMonsterInfoData(info, proto.S_SECRETTOWER_VIEWMONSTER_RSP)
		//查看蛮荒妖域信息
	case proto.S_ACTIVITY_WILD_ZONE_ENTER_PANEL_RSP:
		info := proto.ParaWildZoneInfo(msgData.HexData)
		go xd.CheckWildZoneInfoData(info)
		//蛮荒妖域探索结果
	case proto.S_ACTIVITY_WILD_PLAYER_EXPLORE_RSP:
		info := proto.ParaActivityWildInfo(msgData.HexData)
		go xd.CheckActivityWildInfoData(info)
		//蛮荒妖域对友互助结果
	case proto.S_ACTIVITY_WILD_LOG_MEMBER_HELP_RSP:
		info := proto.ParaActivityWildHelpInfo(msgData.HexData)
		go xd.CheckActivityWildHelpInfoData(info)
		//进入妖盟乱斗结果
	case proto.S_UNION_BATTLE_ENTER_RSP:
		info := proto.ParaUnionBattleMatchInfo(msgData.HexData)
		go xd.CheckUnionBattleMatchInfoData(info)
		//妖盟乱斗匹配结果
	case proto.S_UNION_BATTLE_MATCH_RSP:
		info := proto.ParaUnionBattleMatchInfo(msgData.HexData)
		go xd.CheckUnionBattleMatchInfoData(info)
		//妖盟乱斗战胜自动刷新匹配结果
	case proto.S_UNION_BATTLE_CHALLENGE_RSP:
		info := proto.ParaUnionBattleMatchInfo(msgData.HexData)
		go xd.CheckUnionBattleMatchInfoData(info)
		//查看征战诸天信息结果
	case proto.S_SKY_WAR_ENTER_RSP:
		allInfo := proto.ParaSkyWarInfo(msgData.HexData)
		xd.CheckSkyWarInfoData(allInfo)
		//查看妖盟对决信息
	case proto.S_UNION_DUEL_OPEN_VIEW_RSP:
		allInfo := proto.ParaUnionDuiJueAllInfo(msgData.HexData)
		go xd.CheckUnionDuiJueAllInfoData(allInfo)
		//查看妖盟对决人员信息
	case proto.S_UNION_DUEL_OPEN_LIST_VIEW_RSP:
		allInfo := proto.ParaUnionDuiJueInfo(msgData.HexData)
		go xd.CheckUnionDuiJueInfoData(allInfo)
		//查看龙窟秘境信息
	case proto.S_DRAGON_HOME_EXPLORE_DATA_RSP:
		allInfo := proto.ParaLongKuMapInfo(msgData.HexData)
		go xd.CheckLongKuMapInfoData(allInfo)
		//龙窟秘境体力更新信息
	case proto.S_DRAGON_HOME_EXPLORE_RSP:
		//info := proto.ParaLongKuStrengthInfo(msgData.HexData)
		//go xd.CheckLongKuStrengthInfoData(info)
		////龙窟秘境组队信息
	case proto.S_DRAGON_HOME_TEAM_APPLYLIST_RSP:
	//info := proto.ParaLongKuStrengthInfo(msgData.HexData)
	//go xd.CheckLongKuStrengthInfoData(info)
	//进入宗门的结果
	case proto.S_PUPIL_ENTER_RSP:
		allInfo := proto.ParaZoneMenInfo(msgData.HexData)
		go xd.CheckZongMenData(allInfo)
		//训练弟子的结果
	case proto.S_PUPIL_TRAIN_RSP:
		allInfo := proto.ParaZoneMenInfo(msgData.HexData)
		go xd.CheckZongMenData(allInfo)
		//未结伴弟子列表回复
	case proto.S_PUPIL_MARRIAGE_GRADUATED_UN_MARRIAGE_LIST_RSP:
		allInfo := proto.ParaZoneMenAloneInfo(msgData.HexData)
		xd.CheckZongMenAloneData(allInfo)
		//查看道友弟子回复
	case proto.S_PUPIL_MARRIAGE_GET_SERVER_APPLY_RSP:
		allInfo := proto.ParaZoneMenOtherInfo(msgData.HexData)
		xd.CheckZoneMenOtherInfoData(allInfo)
		//仙桃乐宴事件信息
	case proto.S_PEACH_BANQUET_JOIN_LIST_SYNC_RSP:
		allInfo := proto.ParaPeachBanquetJoinInfo(msgData.HexData)
		go xd.CheckPeachBanquetJoinInfoData(allInfo)
		//仙桃乐宴加入信息
	case proto.S_PEACH_BANQUET_OPEN_SYNC_RSP:
		allInfo := proto.ParaPeachBanquetInfo(msgData.HexData)
		go xd.CheckPeachBanquetInfoData(allInfo)
		//仙桃乐宴列表信息
	case proto.S_PEACH_BANQUET_GET_LIST_RSP:
		allInfo := proto.ParaPeachBanquetListInfo(msgData.HexData)
		go xd.CheckPeachBanquetListInfoData(allInfo)
		//妖盟-查看所有道友悬赏情况结果
	case proto.S_UNION_BOUNTY_ENTRY_MAP_RSP:
		info := proto.ParaDemonLeagueAllPersonInfo(msgData.HexData)
		go xd.CheckDemonLeagueAllPersonInfoData(info)
		//查看妖盟悬赏信息结果
	case proto.S_UNION_BOUNTY_OPEN_BOUNTY_EVENT_RSP:
		info := proto.ParaDemonLeagueInfo(msgData.HexData)
		go xd.CheckDemonLeagueInfoData(info)
		//查看妖盟悬赏怪物信息结果
	case proto.S_UNION_BOUNTY_OPEN_MONSTER_RSP:
		info := proto.ParaDemonLeaguePersonInfo(msgData.HexData)
		go xd.CheckDemonLeaguePersonInfoData(info)
		//查看仙域商图信息结果
	case proto.S_SKY_TRADE_ENTER_MAP_RSP:
		info := proto.ParaSkyTradeInfo(msgData.HexData)
		go xd.CheckSkyTradeInfoData(info)
		//妖盟-查看仙居信息结果
	case proto.S_YARDPB_ENTER_RSP:
		allInfo := proto.ParaXianjuInfo(msgData.HexData)
		go xd.CheckXianjuInfoData(allInfo)
		//查看仙居协助的结果
	case proto.S_YARDPB_BUILD_UNION_HELP_LIST_RSP:
		info := proto.ParaXianjuAssistanceInfo(msgData.HexData)
		go xd.CheckXianjuAssistanceInfoData(info)
		//妖盟-查看仙居等级的结果
	case proto.S_YARDPB_BUILD_BASICDATA_SYNC_RSP:
		info := proto.ParaXianjuLevelInfo(msgData.HexData)
		go xd.CheckXianjuLevelInfoData(info)
		//妖盟-查看仙居商品的结果
	case proto.S_YARDPB_BUILD_MAKE_NUM_SYNC_RSP:
		linCao, AllInfo := proto.ParaXianjuGoodsInfo(msgData.HexData)
		xd.UserData.Xianju.LingCao = linCao
		go xd.CheckXianjuGoodsInfoData(AllInfo)
		//妖盟-查看仙居售卖的结果
	case proto.S_YARDPB_MERCHANT_INFO_RSP:
		AllInfo := proto.ParaXianjuPriceInfo(msgData.HexData)
		go xd.CheckXianjuPriceInfoData(AllInfo)
		//妖盟寻宝-查看解锁情况
	case proto.S_UNION_TREASURE_ENTER_RSP:
		allInfo := proto.ParaUnionTreasureHuntInfo(msgData.HexData)
		go xd.CheckUnionTreasureHuntInfoData(allInfo)
		//妖盟寻宝-查看画卷领取
	case proto.S_UNION_TREASURE_GIVEN_LIST_RSP:
		AllInfo := proto.ParaUnionTreasureHuntDrawInfo(msgData.HexData)
		go xd.CheckUnionTreasureHuntDrawInfoData(AllInfo)
		//查看呱仙阁的结果
	case proto.S_YUE_BAO_ENTER_RSP:
		info := proto.ParaXianYuOfferingSacrificesInfo(msgData.HexData)
		go xd.CheckXianYuOfferingSacrificesInfoData(info)
		//福利-查看轮回秘境的千界战场结果
	case proto.S_REBORN_TRIAL_BATTLE_ENTER_REQ_RSP:
		allInfo := proto.ParaLunHuiMiJingInfo(msgData.HexData)
		go xd.CheckLunHuiMiJingInfoData(allInfo)
		//道途试练
	case proto.S_PROFESSION_SYNC_PLAYER_DATA_RSP:
		allInfo := proto.ParaDaoTuInfo(msgData.HexData)
		go xd.CheckDaoTuInfoData(allInfo)
		//解析幽冥战场ID信息
	case proto.S_WAR_SEASON_LOGIN_NOTIFY_RSP:
		if len(msgData.HexData) > 7 && msgData.HexData[0] == 0x08 {
			xd.UserData.WarSeasonID = proto.BytesToHexStr(msgData.HexData[1:7])
			log.Infof("WarSeasonID : %s", xd.UserData.WarSeasonID)
		}
		//解析幽冥战场礼物信息
	case proto.S_WAR_SEASON_GIFT_INFO_RSP:
		allInfo := proto.ParaWarSeasonGiftInfo(msgData.HexData)
		go xd.CheckParaWarSeasonGiftInfoData(allInfo)
		//解析守卫仙树
	case proto.S_GUARD_FAIRY_TREE_ENTER_ACTIVITY_RSP:
		allInfo := proto.ParaGuardFairyTreeInfo(msgData.HexData)
		go xd.CheckGuardFairyTreeInfoData(allInfo)
		//解析山海万象组队信息
	case proto.S_MOUNTAIN_SEA_ENTER_TEAM_RSP:
		allInfo := proto.ParaMountainSeaTeamInfo(msgData.HexData)
		go xd.CheckMountainSeaTeamInfoData(allInfo)
		//解析瑶池仙踪信息
	case proto.S_DESTINY_FIGHT_ENTER_RSP:
		allInfo := proto.ParaDestinyFightInfo(msgData.HexData)
		go xd.CheckDestinyFightInfoData(allInfo)
		//解析瑶池仙踪挑战信息
	case proto.S_DESTINY_FIGHT_ENTER_BATTLE_RSP:
		allInfo := proto.ParaDestinyFightListInfo(msgData.HexData)
		go xd.CheckDestinyFightListInfoData(allInfo)
		//解析瑶池仙踪仙友信息
	case proto.S_DESTINY_FIGHT_DESTINY_LIST_RSP:
		allInfo := proto.ParaDestinySelfInfo(msgData.HexData)
		go xd.CheckDestinySelfInfoData(allInfo)
		//解析仙宫信息
	case proto.S_PALACE_ENTER_OUTER_RSP:
		allInfo := proto.ParaXianGongInfo(msgData.HexData)
		go xd.CheckXianGongInfoData(allInfo)
		//解析未央仙境信息
	case proto.S_WE_YOUND_ENTER_REQ_RSP:
		allInfo := proto.ParaWeYoundInfo(msgData.HexData)
		go xd.CheckWeYoundInfoData(allInfo)
		//解析斗法挑战列表
	case proto.S_RANK_BATTLE_GET_BATTLE_LIST_RSP:
		allInfo := proto.ParaDouFaInfo(msgData.HexData)
		go xd.CheckDouFaInfoData(allInfo)
		//解析炼器大会信息
	case proto.S_CASTSWORD_ENTER_RSP:
		allInfo := proto.ParaCastSwordInfo(msgData.HexData)
		go xd.CheckCastSwordInfoData(allInfo)
		//解析小妖卫道信息
	case proto.S_ROAD_DEFEND_ENTER_GAME_RSP:
		allInfo := proto.ParaRoadDefendInfo(msgData.HexData)
		go xd.CheckRoadDefendInfoData(allInfo)
		//解析弟子试练神游关卡
	case proto.S_PUPIL_EXPLORE_TRAVEL_PASS_TODAY_RSP:
		allInfo := proto.ParaPupilTravelInfo(msgData.HexData)
		go xd.CheckPupilTravelInfoData(allInfo)
		//解析弟子试练冒险信息
	case proto.S_PUPIL_EXPLORE_NEXT_DAY_RSP, proto.S_PUPIL_EXPLORE_SPRING_WATER_RSP, proto.S_PUPIL_EXPLORE_BATTLE_RSP, proto.S_PUPIL_EXPLORE_SKILL_SELECT_RSP, proto.S_PUPIL_EXPLORE_EXCHANGE_RSP:
		allInfo := proto.ParaPupilExploreInfo(msgData.HexData)
		go xd.CheckPupilExploreInfoData(msgData.Cmd, allInfo)
		//解析冒险弟子信息
	case proto.S_PUPIL_EXPLORE_RANDOM_RSP:
		allInfo := proto.ParaPupilRandomInfo(msgData.HexData)
		go xd.CheckPupilRandomInfoData(allInfo)
		//解析神躯信息
	case proto.S_DIVINE_INSIGHT_ENTER_REQ_RSP:
		allInfo := proto.ParaShenQuInfo(msgData.HexData)
		go xd.CheckParaShenQuInfoData(allInfo)
		// 西游伏魔随机生成装备
	case proto.S_XIYOU_RAND_EQUIPMENT_RSP:
		info := proto.ParaXIYOUUnDealEquipmentRsp(msgData.HexData)
		if info.DealFlag {
			log.Infof("西游伏魔-生成装备 (%s) %s", D.GetCombatValueDesc(info.CombatValue-xd.UserData.XIYOUCombatValue), proto.GetEquipmentInfoDesc(info))
		}
		// 西游伏魔处理装备
	case proto.S_XIYOU_GET_UNDEAL_EQUIPMENT_RSP:
		info := proto.ParaXIYOUUnDealEquipmentRsp(msgData.HexData)
		if info.DealFlag {
			log.Infof("西游伏魔-处理装备 (%s) %s", D.GetCombatValueDesc(info.CombatValue-xd.UserData.XIYOUCombatValue), proto.GetEquipmentInfoDesc(info))
		}
		xd.UserData.XIYOUDealChan <- info
		//西游伏魔-当前玩家属性
	case proto.S_XIYOU_PLAYER_DATA_INFO_RSP:
		info := proto.ParaXIYOUPlayerInfo(msgData.HexData)
		go xd.CheckXIYOUPlayerInfoData(info)
		//西游伏魔-当前装备属性
	case proto.S_XIYOU_PLAYER_DATA_SYNC_RSP:
		combatValue := proto.ParaXIYOUCurrentEquipmentInfo(msgData.HexData)
		if combatValue > 0 {
			xd.UserData.XIYOUCombatValue = combatValue
			log.Infof("西游伏魔-当前妖力 %s", D.GetCombatValueDesc(combatValue))
			xd.ResetTaskByID(proto.S_XIYOU_PLAYER_DATA_SYNC)
		}
		//西游伏魔-幻境
	case proto.S_XIYOU_SECRET_START_RSP, proto.S_XIYOU_SECRET_SELECT_RSP:
		info := proto.ParaXIYOUSecretInfo(msgData.HexData)
		go xd.CheckXIYOUSecretInfoData(info)
		//西游伏魔-幻境BOSS
	case proto.S_XIYOU_SECRET_KILL_RSP:
		info := proto.ParaXIYOUSecretKillInfo(msgData.HexData)
		go xd.CheckXIYOUSecretKillInfoData(info)
		//御傀争锋
	case 32103:
		info := proto.ParaYuKuiFightInfo(msgData.HexData)
		go xd.CheckYuKuiFightInfoData(info)

	default:
		return
	}
}
